package cn.itsource.zcn.order.mapper;

import cn.itsource.zcn.order.domain.OrderAdopt;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * (OrderAdopt)表数据库访问层
 *
 * @author makejava
 * @since 2021-08-26 11:07:40
 */
public interface OrderAdoptMapper {

    /**
     * 新增数据
     *
     * @param tOrderAdopt 实例对象
     */

    void save(OrderAdopt tOrderAdopt);

    /**
     * 修改数据
     *
     * @param tOrderAdopt 实例对象
     */
    @Update("update t_order_adopt set " +
            "digest=#{digest},state=#{state},price=#{price},orderSn=#{orderSn},paySn=#{paySn},lastPayTime=#{lastPayTime},lastConfirmTime=#{lastConfirmTime},pet_id=#{pet_id},user_id=#{user_id},shop_id=#{shop_id},address_id=#{address_id} " +
            "where id = #{id}")
    void update(OrderAdopt tOrderAdopt);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     */
    @Delete("delete from t_order_adopt where id = #{id} ")
    void delete(Long id);


    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Select("select * from t_order_adopt where id = #{id}")
    OrderAdopt queryById(Long id);

    @Select("select * from t_order_adopt where orderSn = #{orderSn}")
    OrderAdopt queryByOrderSn(String orderSn);

    /**
     * 查询全部
     *
     * @return 对象列表
     */
    @Select("select * from t_order_adopt")
    List<OrderAdopt> queryAll();

    /**
     * 批量新增数据（MyBatis原生foreach方法）
     *
     * @param entities List<OrderAdopt> 实例对象列表
     */
    void insertBatch(@Param("OrderAdopts") List<OrderAdopt> entities);

    /**
     * 批量删除数据（MyBatis原生foreach方法）
     *
     * @param ids List<Integer> 实例对象列表
     */
    void deleteBatch(@Param("ids") List<Integer> ids);


}

